//
//  AssEvent.h
//  GrosoSub
//
//  Created by Josu López Fernández on 13/06/08.
//  Copyright 2008 Josu López Fernández. All rights reserved.
//
//	Redistribution and use in source and binary forms, with or without
//	modification, are permitted provided that the following conditions are met:
//
//		* Redistributions of source code must retain the above copyright notice,
//		  this list of conditions and the following disclaimer.
//		* Redistributions in binary form must reproduce the above copyright
//		  notice, this list of conditions and the following disclaimer in the
//		  documentation and/or other materials provided with the distribution.
//		* Neither the name of the library nor the names of its
//		  contributors may be used to endorse or promote products derived from
//		  this software without specific prior written permission.
//
//  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
//  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
//  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
//  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
//  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
//  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
//  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
//  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
//  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
//  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
//  POSSIBILITY OF SUCH DAMAGE.
//

#import <Cocoa/Cocoa.h>
#import "AssTime.h"
#import "AssMargin.h"

@interface AssEvent : NSObject {
	@private
	Boolean dialogue;
	NSInteger layer;
	AssTime *start, *end;
	NSString *style, *name;
	AssMargin *marginL, *marginR, *marginV;
	NSString *effect, *text;
}

- (void) fillFromString:(NSString *) line;
- (NSString *) toString;

- (BOOL) dialogue;
- (NSInteger) layer;
- (AssTime *) start;
- (AssTime *) end;
- (NSString *) style;
- (NSString *) name;
- (AssMargin *) marginL;
- (AssMargin *) marginR;
- (AssMargin *) marginV;
- (NSString *) effect;
- (NSString *) text;

- (void) setDialogue:(BOOL) di;
- (void) setLayer:(NSInteger) la;
- (void) setStart:(AssTime *) st;
- (void) setEnd:(AssTime *) ed;
- (void) setStyle:(NSString *) st;
- (void) setName:(NSString *) na;
- (void) setMarginL:(AssMargin *) ml;
- (void) setMarginR:(AssMargin *) mr;
- (void) setMarginV:(AssMargin *) mv;
- (void) setEffect:(NSString *) ef;
- (void) setText:(NSString *) te;

- init;
- initWithString:(NSString *) string;

@end
